<script>
export default {
  name: "RouterView",
  render() {
    // 获取当前的路由信息
    const route = this._routerRoot._route;

    // 没有匹配到路由的话就不会渲染, 如有必要可以渲染404页面
    if (!route) {
      return;
    }

    // 通过解构将route 上的component 取出来
    const { component } = route;
    // return <component />;

    // 为了在组件守卫时 保证this指向,将vnode.componentInstance给到this
    const hook = {
      init(vnode) {
        route.instance = vnode.componentInstance;
        // console.log("vnode", vnode);
        // console.log("instance", vnode.componentInstance);
      },
    };

    return (<component hook={hook} />);
  },
};
</script>
